Two techniques are used to synchronously transfer data between devices. In one technique, both a clock and data are transmitted separately from a master device to a slave device. The slave device recovers the data by using the transmitted clock to sample the incoming data. Examples of this technique include Serial Peripheral Interface Bus (SPI) and Inter-Integrated Circuit (I2C). However, this technique requires two or more physical connections between the devices.
The second technique is where the clock information and data are encoded together into a single signal. This signal is then transmitted over one physical connection from a master device to a slave device. Various methods exist to perform this encoding. However, with the existing methods, a local oscillator and possibly a discrete phase-locked loop (PLL) are required at the slave device to perform clock and data recovery.